package com.albaba.designpattern.templatemethod.text_002;

/**
 * @Description: 账户抽象类
 * @Author zx
 * @Date 2025/2/24 17:05
 * @Version 1.0
 */
public abstract class Account {

    // 具体的方法 -- 验证用户信息是否正确
    public boolean validate(String account, String password) {
        System.out.println("账号:" + account + ",密码" + password);

        if (account.equalsIgnoreCase("tom") && password.equals("123456")) {
            return true;
        } else {
            return false;
        }
    }

    // 抽象方法 - 计算利息
    public abstract void calculate();

    // 具体方法 - 显示利息
    public void display() {
        System.out.println("显示利息!");
    }

    // 模版方法
    public void handle(String account, String password) {
        if (!validate(account, password)) {
            return;
        }
        calculate();
        display();
    }

}
